package cn.darkhorse.messystem.service.impl;

import cn.darkhorse.messystem.mapper.MesSystemConfigMapper;
import cn.darkhorse.messystem.pojo.MesSystemConfig;
import cn.darkhorse.messystem.service.MesSystemConfigService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 系统配置表 服务实现类
 * </p>
 *
 * @author maoguanjun
 * @since 2023-11-07
 */
@Service
public class MesSystemConfigServiceImpl extends ServiceImpl<MesSystemConfigMapper, MesSystemConfig> implements MesSystemConfigService {

    /**
     * 查看
     *
     * @param key
     * @return
     */
    @Override
    public MesSystemConfig view(String key) {
        if(StringUtils.isBlank(key)){
            key="system";
        }
        LambdaQueryWrapper<MesSystemConfig>wrapper=new LambdaQueryWrapper<>();
        wrapper.eq(MesSystemConfig::getKeyWord,key);
        MesSystemConfig one = getOne(wrapper);
        return one;
    }

    /**
     * 保存
     *
     * @param config
     * @return
     */
    @Override
    public boolean saveConfig(MesSystemConfig config) {
        if(StringUtils.isBlank(config.getKeyWord())){
            config.setKeyWord("system");
        }
        LambdaQueryWrapper<MesSystemConfig> wrapper=new LambdaQueryWrapper<>();
        wrapper.eq(MesSystemConfig::getKeyWord,config.getKeyWord());
        if(null!=config.getId()){
            return updateById(config);
        }else{
            MesSystemConfig one = getOne(wrapper);
            if(null!=one){
                config.setId(one.getId());
                return updateById(config);
            }else{
                return save(config);
            }
        }
    }
}
